#ifndef XTEXT_PACK_H
#define XTEXT_PACK_H

#ifdef XEXPORTING
#define XEXPORT_DLL __declspec(dllexport)
#else
#define XEXPORT_DLL __declspec(dllimport)
#endif

#include <XMain.h>
#include <XFont.h>
#include <vector>

class XEXPORT_DLL XTextPack
{
private:
	XHash Hash;
	XFont* Font;
	XRectangle TextBox;

	std::string Text;

	XColor Color;
	XVector Translation;
	float Rotation;
	float Scale;

	int Width;
	int Height;

public:
	XTextPack(XHash hash);
	~XTextPack();

	void SetText(int text);
	void SetText(std::string text);
	void SetTextBox(XRectangle rect);
	void SetColor(XColor color);
	void SetTranslation(XVector translation);
	void SetRotation(float degree);
	void SetScale(float scale);
	void SetFont(XFont* font);

	XRectangle GetTextBox();
	std::string GetText();
	XHash GetHash();
	XColor GetColor();
	XVector GetTranslation();
	float GetRotation();
	float GetScale();
	int GetWidth();
	int GetHeight();

	friend class XDrawModule;
};

#endif